知识点名称:Wifi通信

编号: K9-5

前驱知识点编号:K9-1,K9-2,K9-3,K9-4

作者:

讲义内容:

常用的关于WiFi的工具类

ScanResult类: 描述检测到的WiFi接入点信息,包含网络名称、接入点地址、频率等信息。其只包含一个描述这些信息的toString方法。

WifiConfiguration类:主要提供了WiFi配置信息的访问接口,如安全协议、密码管理模式、认证方式等。

WifiInfo类:用于描述已经建立连接的或正在建立连接的WiFi状态信息。如IP地址、MAC地址、网络id等。

WifiManager类:提供针对WiFi连接的基本操作,管理WiFi连接。 常用的方法如下表:

通过无线网络,你的应用程序可以快速找到并与附近的设备进行交互,这超出了蓝牙能力范围。

无线点对点(P2P)api允许应用程序连接到附近的设备,而不需要连接到网络或热点(Android的无线P2P框架符合无线网络直接认证程序)。如果你的应用被设计成一个安全的、近距离网络的一部分,那么wifi Direct就比传统的wifi临时网络更合适了,原因如下:

1.无线网络直接支持WPA2加密。(一些专门的网络只支持WEP加密。)

2.设备可以广播它们提供的服务,这有助于其他设备更容易地发现合适的同类。

3.当确定哪个设备应该是网络的组所有者时,wifi直接检查每个设备的电源管理、UI和服务能力,并使用这些信息来选择最有效地处理服务器责任的设备。

4.Android不支持无线网络的特别模式。

实验步骤

本实验实现了通过Android手机控制电脑播放PPT的功能。

App端

  1. 申请网络权限:

2.主要代码:

可以看到在App端,通过传递String的方式传递操作命令,在测试时手机与PC在同一个局域网内,但如有需要,也可以改为远端设备的IP地址,通信的端口设置为8888. 布局文件内容:

页面布局仅包含四个表示对PPT控制的基本操作。

服务器端

先运行服务端的程序,起开始处于监听状态,当打开App后,建立与PC的连接,然后在操作App的过程中将对应操作字符串传递到服务端,服务端获取命令后,根据操作类型模拟相应的操作。在服务端的代码中可以看到,模拟键盘操作时有许多的Thread.sleep(),这是模拟了键盘按压过程的时间间隔与按压与释放的时间间隔。

运行效果截图:

开启服务端程序

打开App时

服务端

App端

打开一个PPT文件

在App端点击开始按钮

在App端点击下一张

其他操作过程类似,可以实现对PPT的播放控制。

至此,完成Android设备的wifi通信功能。

results matching ""

    No results matching ""